package br.jcrsistemas.syscomercio.cadastros.dao.postgres;

import br.jcrsistemas.factory.PostgresConnFactory;
import br.jcrsistemas.syscomercio.bean.Estado;
import br.jcrsistemas.syscomercio.cadastros.dao.EstadoDAO;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;


public class PostgresEstadoDAO extends EstadoDAO{

	@Override
	public boolean inserir( Estado estado ) throws SQLException,
			ClassNotFoundException {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean deletar( Estado estado ) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean atualizar( Estado estado ) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public ArrayList<Estado> listar( ) throws SQLException, ClassNotFoundException {
		String query = "SELECT id_estado,sigla,estado FROM estados";
		ArrayList<Estado> listaEstados = new ArrayList<Estado>();
		PostgresConnFactory conn = new PostgresConnFactory();
		Statement stmt = conn.abreConexao().createStatement();
		ResultSet rs = stmt.executeQuery(query);
		
		//conn.executeSelectQuery(query);
		listaEstados.add(new Estado());
		while( rs.next() ) {
			Estado estado = new Estado();
			estado.setId( rs.getInt("id_estado") );
			estado.setSigla( rs.getString("sigla") );
			estado.setEstado( rs.getString("estado") );
			
			listaEstados.add(estado);
		}
		conn.desconecta();
		return listaEstados;
	}

	@Override
	public Estado getEstadoById( int id ) throws SQLException, ClassNotFoundException {
		String query = "SELECT id_estado, sigla, estado FROM estados WHERE id_estado = " + id;
		Estado estado = new Estado();
		PostgresConnFactory conn = new PostgresConnFactory();
		Statement stmt = conn.abreConexao().createStatement();
		ResultSet rs = stmt.executeQuery(query);
		while(rs.next() ) {
			estado.setId(rs.getInt("id_estado"));
			estado.setSigla(rs.getString("sigla"));
			estado.setEstado(rs.getString("estado"));
		}
		conn.desconecta();
		return estado;
	}

}
